草庐IT

javascript - rspec 单击一个跨度

全部标签

ruby-on-rails - 通过关联从具有多个关联中获取第一个关联

我正在尝试将每个播放列表的第一首歌曲加入到播放列表数组中,但我很难找到有效的解决方案。我有以下模型:classPlaylist:playlist_songsendclassPlaylistSong:playlist_songsend我想得到这个:playlist_name|song_name----------------------------chill|babyfun|bffs我很难找到一种有效的方法来通过连接来做到这一点。更新****ShaneAndrade引导我朝着正确的方向前进,但我仍然无法得到我想要的。这是我所能得到的:playlists=Playlist.where('i

ruby - 我可以使用 RSpec 模拟标准输入/标准输出来测试控制台读写吗?

我的Ruby程序从stdin读取行并使用puts打印到stdout(终端)。我可以使用RSpec来测试读写吗?我可以像在stdin中编写的那样向我的程序注入(inject)一个字符串,同时检查输出吗?line=STDIN.read.chomp.split另外,我在一个循环中进行读取和写入,直到line[0]被“退出”。我可以在循环运行时进行测试,还是应该调用subject.read_in和subject.write_out? 最佳答案 您可以使用模拟并通过在and_return()方法中列出多个值来多次调用该方法。这些将按照给定的顺

ruby-on-rails - 如何创建一个 cron 作业来运行 ruby​​ 脚本?

我想创建一个cron作业来运行ruby​​脚本。这是我放在crontab中的内容。2****ruby/home/mark/project/script.rb>>/home/mark/cronOutput.txt但它没有运行。我认为当cron以root身份运行时,环境加载存在一些问题。请帮忙。 最佳答案 如果您的ruby​​在非标准路径中,那么我个人喜欢将我的ruby​​调用包装在一个shell脚本中,从而确保正确设置我的ruby​​程序所需的所有路径等,并在crontab中安排脚本。做类似的事情2****/home/mark/pro

ruby - 如何从另一个目录运行 Rails/Rake?

如果不进入我的Rails应用程序的根目录,我该如何为该应用程序执行Rails或Rake命令。我试过:bundleexecrakemy_tasks:do_stuffBUNDLE_GEMFILE=/PATH/TO/RAILS_APP/Gemfile在其他组合中,无济于事。[更新]问题实际上有两个方面,bundle不知道gemfile在哪里,rake不知道要运行什么。使用bundler:BUNDLE_GEMFILE=/PATH/TO/RAILS_APP/Gemfilebundleexec...请注意,BUNDLE_GEMFILE必须位于“bundleexec”之前。使用rake:rake-f

ruby-on-rails - Rails 5.1 使用 RSpec 配置内置系统测试

看完RailsConfvideoonActionDispatch::systemTestCase,我很高兴将它整合到我当前的应用程序中。目前我们的测试套件设置使用以下内容:rspecfactory_girlcapybara#功能规范database_cleaner#用于功能规范,主要用于测试jsselenium-webdriver#功能规范capybara-webkit#功能规范很难让配置适用于我们当前的设置,但我们最终成功了,这在很大程度上要归功于AvdiGrimm的一篇文章,标题为:Configuringdatabase_cleanerwithRails,RSpec,Capybar

css - 我需要一个 ruby​​ 中的 css 压缩器

我正在寻找可以在Rails应用程序(不是gziper)中使用的css缩小器,它不需要安装命令行YUI压缩器。我正在开发一个内容管理软件,其中将css粘贴到文本区域中,然后我想缩小然后gzip并将其发送到亚马逊。所以那些使用一些命令行预处理的解决方案是不行的......有什么想法吗?也欢迎使用在线缩小器服务。 最佳答案 你也可以试试SASS使用:syntax=>:scss,:style=>:compressed。 关于css-我需要一个ruby​​中的css压缩器,我们在StackOver

ruby-on-rails - Rspec - 引发错误时参数数量错误

所以在我的代码中我尝试测试这个方法:#checksifafilealreadyexistsonS3deffile_exists?(storage_key)begins3_resource.bucket(@bucket).object(storage_key).exists?rescueAws::S3::Errors::Forbidden=>efalseendend现在我正在尝试制作两个测试用例-一个用于文件存在的情况,一个用于文件不存在的情况。关注失败案例。我想去掉exists?提高Aws::S3::Errors::Forbidden错误使得file_exists?方法将返回false

ruby - 模仿另一个 Ruby 类,使对象通过 === 类型检查

我想创建一个充当特定类的对象,例如Fixnum,但不是该类或其子类的实例。这有多种用例。在Fixnum案例中,我想定义一个更具体的整数类型,它本质上是Fixnum但也实现了一些额外的逻辑。我不能对Fixnum本身进行子类化,因为不能对Fixnum和Symbol等直接类型进行子类化。另一个用例是在自动化测试中进行模拟:有时您想要创建一个对象,它的行为类似于某个类(通常是模型实例),但出于技术原因不是该类的实例。下面是如何创建一个特定的整数类型,将所有方法委托(delegate)给一个内部存储的fixnum:require'delegate'require'forwardable'#int

ruby - 是否可以使用 Ruby 将一系列 PDF 合并为一个?

我有一系列按顺序命名的PDF:01_foo.pdf02_bar.pdf03_baz.pdf等等使用Ruby,是否可以将它们组合成一个大PDF,同时保持它们的顺序?我不介意安装任何必要的gem来完成这项工作。如果这在Ruby中是不可能的,那么另一种语言呢?如果可能,不要使用商业组件。更新:JasonNavarrete'ssuggestion导致完美的解决方案:将需要合并的PDF文件与pdftk放在一个目录下(或确保pdftk在您的PATH中),然后运行以下脚本:pdfs=Dir["[0-9][0-9]_*"].sort.join("")`pdftk#{pdfs}outputcombine

ruby - 在 RSpec 中检查(不存在) `puts`

我在一个ruby​​项目中使用rspec进行测试,我想说明在使用-q选项时我的程序不应输出任何内容。我试过:Kernel.should_not_receive:puts当有输出到控制台时,这并没有导致测试失败。如何验证文本输出的缺失? 最佳答案 puts在内部使用$stdout。由于它的工作方式,最简单的检查方法是简单地使用:$stdout.should_not_receive(:write)检查没有按预期写入标准输出。Kernel.puts(如上所述)只会导致测试失败被明确地这样称呼(例如Kernel.puts“Sometext”